/**
 * Project hdmap
 * @author shengjialiang
 * @version v1.0
 */


#include "map_dataset/IFeature.h"
#include "map_dataset/Property.h"

/**
 * IFeature implementation
 */

namespace DataManager
{
    IFeature::IFeature()
		: mExtendMin(osg::Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)), mExtendMax(osg::Vec3d(-DBL_MAX, -DBL_MAX, -DBL_MAX)),
		mBasePosition(osg::Vec3d(0, 0, 0)), mOwnerID("")
    {

    }

    IFeature::~IFeature()
    {

    }

    Common::CObject* IFeature::clone()
    {
        return NULL;
    }

    void IFeature::copyTo(CObject* in_pDestObject)
    {
        Common::CObject::copyTo(in_pDestObject);
        IFeature* pFeature = dynamic_cast<IFeature*>(in_pDestObject);
        if (pFeature)
        {
			pFeature->mBasePosition = this->mBasePosition;
			pFeature->mExtendMax = this->mExtendMax;
			pFeature->mExtendMin = this->mExtendMin;
        }
    }

	void IFeature::assign(CRecordValues** inout_pRecordValues)
	{
		CRecordValues* pRecordValues = *inout_pRecordValues;
		if (NULL == pRecordValues)
		{
			pRecordValues = new CRecordValues();
		}
		pRecordValues->getValues().assign(10, "");
	}
}